package com.ecoolex.discount.sales.core.mapper;

import com.ecoolex.discount.sales.entity.YWBrand;
import com.ecoolex.discount.sales.entity.YWBrandExample;
import com.ecoolex.framework.common.annotation.Description;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.lang.NonNull;

public interface YWBrandMapper {
    long countByExample(YWBrandExample example);

    int deleteByExample(YWBrandExample example);

    int deleteByPrimaryKey(Long id);

    int insert(YWBrand record);

    int insertSelective(@Param("record") YWBrand record, @Param("selective") YWBrand.Column ... selective);

    YWBrand selectOneByExample(YWBrandExample example);

    List<YWBrand> selectByExample(YWBrandExample example);

    YWBrand selectByPrimaryKey(Long id);

    YWBrand selectByPrimaryKeyWithLogicalDelete(@Param("id") Long id, @Param("andLogicalDeleted") boolean andLogicalDeleted);

    int updateByExampleSelective(@Param("record") YWBrand record, @Param("example") YWBrandExample example, @Param("selective") YWBrand.Column ... selective);

    int updateByExample(@Param("record") YWBrand record, @Param("example") YWBrandExample example);

    int updateByPrimaryKeySelective(@Param("record") YWBrand record, @Param("selective") YWBrand.Column ... selective);

    int updateByPrimaryKey(YWBrand record);

    int batchInsert(@Param("list") List<YWBrand> list);

    int batchInsertSelective(@Param("list") List<YWBrand> list, @Param("selective") YWBrand.Column ... selective);

    int logicalDeleteByExample(@Param("example") YWBrandExample example);

    int logicalDeleteByPrimaryKey(Long id);
}